// 顾客信息表
import { getURL, $http } from './api.js';
import { createDocument, clearDocuments, getCurrentDocument } from '../index.js';
(function() {
  var formName = "顾客信息表";
  // 清空顾客信息表、员工顾客关联表、订单明细表
  clearDocuments(formName);
  clearDocuments('员工顾客关联表');
  clearDocuments('订单明细表');

  // 顾客生命旅程配置
  var analyzeConfig = $http.get({
    uri: getURL('/scrm/customer/analyze-config'),
    params: {}
  }).data;

  var document = getCurrentDocument();
  getStaffsCustomers(document);

  // 获取员工顾客列表
  function getStaffsCustomers(item) {
    var uri = getURL('/scrm/customer/staff-customer-list');
    var id = item.getElementByName("员工企微标识").getValue();
    var params = {
      'user_id': id
    }
    var resData = $http.get({
      uri,
      params
    })
    if (resData.status == 'ok') {
      getCustomersDetail(resData.data.external_userid);
    }
  }

  // 获取顾客详情
  function getCustomersDetail(ids) {
    var uri = getURL('/scrm/customer/customer-detail');
    for (var i = 0; i < ids.length; i++) {
      var params = {
        'external_userid': ids[i]
      }
      var resData = $http.get({
        uri,
        params,
      })
      var data = resData.data;
      // 导入顾客信息表
      createDocument({
        formName,
        formData: {
          '顾客昵称': data.nick_name,
          '顾客真实姓名': data.real_name,
          '顾客企微标识': data.external_userid,
          '头像': data.avatar,
          '性别': data.gender,
          '顾客生日年份': data.birthday_year,
          '顾客手机号': data.mobile,
          '首次添加企微时间': data.create_time * 1000,
          '顾客年龄': data.age,
          '顾客资料完善度': data.completeness,
          '顾客状态': analyzeConfig[data.life_type - 1]
        }
      })
      // 导入员工-顾客关系表
      importStaffCustomerDocument(data);
      // 导入订单明细表
      importOrderDocument(data);
    }
  }

  // 导入员工-顾客关系表
  function importStaffCustomerDocument(data) {
    for (var j = 0; j < data.staff_list.length; j++) {
      var item = data.staff_list[j];
      createDocument({
        formName: '员工顾客关联表',
        formData: {
          '员工企微标识': item.user_id,
          '顾客企微标识': data.external_userid,
          '每个员工首次添加时间': item.create_time * 1000,
          '状态': item.status
        }
      })
    }
  }

  // 导入订单明细表
  function importOrderDocument(data, page) {
    var uri = getURL("/scrm/order/get-orders-list");
    var params = {};
    var headers = {
      'Content-Type': 'application/json;charset=UTF-8'
    }
    var resData = $http.post({
      uri,
      params,
      headers,
      data: {
        'external_userid': data.external_userid
      }
    })
    // 如果请求失败，进行重试
    if (resData.code == 40000) {
      importOrderDocument(data, page);
      return;
    }
    if (resData.status != 'ok') {
      return
    }
    var data = resData.data;
    var list = data.data;
    // 如果有下一页，继续获取
    if (data.last_page > data.current_page) {
      importOrderDocument(data, ++page);
    }
    for (var k = 0; k < list.length; k++) {
      var item = list[k];
      createDocument({
        formName: '订单明细表',
        formData: {
          '订单类型': item.goods_type,
          '订单编号': item.order_no,
          '手机号': item.mobile,
          '活动类型': item.activity_type,
          '活动编号': item.marketing_id,
          '支付金额': item.pay_total,
          '支付积分': item.pay_integral,
          '支付时间': item.pay_time * 1000,
          '备注': item.remark,
          '所属顾客企微标识': item.external_userid,
          '商品名字': item.goods_name,
          '商品图片': item.goods_banner,
          '下单时间': item.create_time * 1000,
          '订单状态': item.status,
          '省市区': item.area,
        }
      })
    }
  }
})()
